package com.easyjob.service;

import com.easyjob.entity.po.Category;
import com.easyjob.entity.po.QuestionBank;
import com.easyjob.entity.query.CategoryQuery;
import com.easyjob.entity.query.QuestionBankQuery;
import com.easyjob.entity.vo.PaginationResultVO;

import java.util.List;

public interface QuestionBankService {

    /**
     * 根据条件查询列表
     */
    List<QuestionBank> findListByParam(QuestionBankQuery param);

    /**
     * 根据条件查询列表
     */
    Integer findCountByParam(QuestionBankQuery param);

    /**
     * 分页查询
     */
    PaginationResultVO<QuestionBank> findListByPage(QuestionBankQuery param);

    /**
     * 新增
     */
    Integer add(QuestionBank bean);

    /**
     * 批量新增
     */
    Integer addBatch(List<QuestionBank> listBean);

    /**
     * 批量新增/修改
     */
    Integer addOrUpdateBatch(List<QuestionBank> listBean);

    /**
     * 多条件更新
     */
    Integer updateByParam(QuestionBank bean, QuestionBankQuery param);

    /**
     * 多条件删除
     */
    Integer deleteByParam(QuestionBankQuery param);

    /**
     * 根据CategoryId查询对象
     */
    QuestionBank getQuestionBankByCategoryId(Integer bankId);


    /**
     * 根据CategoryId修改
     */
    Integer updateQuestionBankyByBankId(QuestionBank bean, Integer bankId);


    /**
     * 根据CategoryId删除
     */
    Integer deleteQuestionBankByBankId(Integer bankId);

    void saveQuestionBank(QuestionBank category);

    List<QuestionBank> loadAllCategoryByType(Integer type);

    void changeSort(String bankIds);
}
